namespace EOSDigital.SDK
{
	public struct ImageInfo
	{
		public int Width;

		public int Height;

		public int NumOfComponents;

		public int ComponentDepth;

		public Rectangle EffectiveRect;

		private uint Reserved1;

		private uint Reserved2;

		public static bool operator ==(ImageInfo x, ImageInfo y)
		{
			if (x.Width == y.Width && x.Height == y.Height && x.NumOfComponents == y.NumOfComponents && x.ComponentDepth == y.ComponentDepth)
			{
				return x.EffectiveRect == y.EffectiveRect;
			}
			return false;
		}

		public static bool operator !=(ImageInfo x, ImageInfo y)
		{
			return !(x == y);
		}

		public override bool Equals(object obj)
		{
			if (obj is ImageInfo)
			{
				return this == (ImageInfo)obj;
			}
			return false;
		}

		public override int GetHashCode()
		{
			int num = -2128831035;
			num *= (0x1000193 ^ this.Width.GetHashCode());
			num *= (0x1000193 ^ this.Height.GetHashCode());
			num *= (0x1000193 ^ this.NumOfComponents.GetHashCode());
			num *= (0x1000193 ^ this.ComponentDepth.GetHashCode());
			return num * (0x1000193 ^ this.EffectiveRect.GetHashCode());
		}
	}
}
